<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>正则</title>
</head>

<body>

</body>

</html>
<script>
    // 1. 正则表达式的创建
    // 1.1 使用字面量创建
    var reg1 = /ab+c/;
    console.log(reg1);
    // 1.2 使用构造函数创建
    var reg2 = new RegExp('ab+c');
    console.log(reg2);
    // 2. 正则表达式的方法
    // 2.1 test()
    var str = 'abc';
    console.log(reg1.test(str)); // true
    console.log(reg2.test(str)); // true
    // 2.2 exec()
    console.log(reg1.exec(str)); // ["abc", index: 0, input: "abc", groups: undefined]

    console.log("=====================================================")

    //去掉空格
    var str = "我 是 陈 大 爷"
    var reg = /\s+/g
    console.log(str.replace(reg, ''))

    // 判断字符串是不是由数字组成
    var str1 = "12343我 是 陈 大 爷45324"
    console.log(/^\d+$/.test(str1));
    var str2 = "320195401923"
    console.log(/^\d+$/.test(str2));

    //电话号码正则
    var str = 15606512345;
    var reg = /(^1[3|4|5|7|8][0-9]{9}$)/;
    console.log(reg.test(str));

    //删除字符串左右空格
    function trim(str) {
        return str.replace(/^\s+|\s+$/, "")
    }
    str3 = "   123234   "
    console.log(trim(str3));

    // 限制文本框只能输入数字和小数点(二位小数点)
    var reg = /^\d*\.?\d{0,2}$/;
    var str1 = .9;
    console.log(reg.test(str1)); 

    var str2 = 1.99;
    console.log(reg.test(str2)); 

    var str3 = "1a.99";
    console.log(reg.test(str3)); 
    console.log("=====================================")

    // 匹配中文的正则
    var str4 = "我是陈大爷"
    console.log(/[\u4e00-\u9fa5]+/.test(str4));

    // 返回字符串中，中文字符的个数
    var str5 = "我是123陈456大789爷"
    console.log(str5.match(/[\u4e00-\u9fa5]/g).length);

    // 匹配标签中的内容
    var str6 = "<ul><li>aaa</li><li>SSS</li></ul>"
    str6.match(/<ul>([\s\S]*?)<\/ul>/g);
    console.log(RegExp.$1);

    // 匹配标签中的文本
    var str7 = "<ul><li>aaa</li><li>SSS</li></ul>"
    str7.match(/<li>([\s\S]*?)<\/li>/g)
    console.log(RegExp.$1)
</script>